home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_gen_underwaterexplode.cog < prev    next >
Text File  |  1999-11-15  |  2KB  |  76 lines

  1. # Jones 3D Cog Script
  2. #
  3. # gen_UnderwaterExplode.cog
  4. #
  5. # [RT]
  6. #
  7. # (C) 1998 LucasArts Entertainment Company LLC. All Rights Reserved
  8. #
  9. # ========================================================================================
  10.  
  11. symbols
  12.  
  13.     message        killed
  14.  
  15.     template    tplExplode=+uw_blast    local
  16.     template    tplBubble=+bubbles        local
  17.     template    tplGhost=ghost            local
  18.  
  19.     template    x=+uw_spr_blast            local
  20.     template    y=+uw_spr_explode        local
  21.  
  22.     thing        destroyedThing
  23.     thing        ghost                    local
  24.     thing        bubble                    local
  25.  
  26.     int            i                        local
  27.  
  28.     vector        bubbleVel                local
  29.  
  30. end
  31.  
  32. # ========================================================================================
  33.  
  34. code
  35.  
  36. killed:
  37.  
  38.     ghost = CreateThing(tplGhost, destroyedThing);
  39.     CreateThing(tplExplode, ghost);
  40.  
  41.     Sleep(0.25);
  42.  
  43.     for (i = 0; i < 100; i = i + 1)
  44.     {
  45.         # Make a bubble
  46.         bubble = CreateThing(tplBubble, ghost);
  47.  
  48.         # Set the life left to a random value
  49.         SetLifeLeft(bubble, Rand() * 20.0);
  50.  
  51.         # Set it to die when it hits air
  52.         SetThingFlags(bubble, 0x10000000);
  53.  
  54.         # Animate the bubble sprite
  55.         AnimateSpriteSize(bubble, '0.001 0.001 1.0', '0.06 0.06 1.0', 0.5);
  56.  
  57.         # Set the bubble to a random velocity
  58.         bubbleVel = VectorSet(Rand() - 0.35, Rand() - 0.35, Rand() + 0.5);
  59.         bubbleVel = VectorScale(bubbleVel, 0.4);
  60.         if (Rand() < 0.5)
  61.         {
  62.             bubbleVel = VectorSet(-VectorX(bubbleVel), VectorY(bubbleVel), VectorZ(bubbleVel));
  63.         }
  64.         if (Rand() < 0.5)
  65.         {
  66.             bubbleVel = VectorSet(VectorX(bubbleVel), -VectorY(bubbleVel), VectorZ(bubbleVel));
  67.         }
  68.         SetThingVel(bubble, bubbleVel);
  69.     }
  70.  
  71.     DestroyThing(ghost);
  72.  
  73.     return;
  74.  
  75. end
  76.